package com.caregiver.watch.business.data.dao;

import com.caregiver.watch.business.data.model.po.HealthRri;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 心率间期(RRI)数据访问接口
 */
@Mapper
public interface HealthRriDao {
    
    /**
     * 插入RRI数据
     * @param record RRI数据实体
     * @return 插入记录数
     */
    int insert(HealthRri record);
    
    /**
     * 根据主键查询RRI数据
     * @param id 主键
     * @return RRI数据实体
     */
    HealthRri selectByPrimaryKey(Long id);
    
    /**
     * 根据主键更新RRI数据
     * @param record RRI数据实体
     * @return 更新记录数
     */
    int updateByPrimaryKey(HealthRri record);
    
    /**
     * 根据主键删除RRI数据
     * @param id 主键
     * @return 删除记录数
     */
    int deleteByPrimaryKey(Long id);
    
    /**
     * 根据用户ID和数据采集时间查询RRI数据
     * @param userId 用户ID
     * @param startTime 开始时间
     * @param endTime 结束时间
     * @return RRI数据列表
     */
    List<HealthRri> selectByUserIdAndTime(@Param("userId") Long userId,
                                          @Param("deviceUuid") String deviceUuid,
                                          @Param("startTime") LocalDateTime startTime,
                                          @Param("endTime") LocalDateTime endTime);
}
